<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./lib/vue2.js"></script>
  <style>
    li {
      list-style: none;
    }

    * {
      margin: 0;
      padding: 0;
    }

    #app {
      width: 800px;
      height: auto;
      /* background: #ddd; */
      margin: 0 auto;
      padding: 0 20px;
      margin-top: 50px;
      box-sizing: border-box;
      border-left: 5px solid #ddd;
    }

    /* 每一首诗的样式 */
    .pre_poem {
      margin-bottom: 20px;
      background: cyan;
      height: auto;
      box-shadow: 10px 10px 5px #ddd;
      border-radius: 10px;
      /* overflow: hidden; */
    }

    .pre_poem_title {
      padding: 0 250px;
      box-sizing: border-box;
      height: 50px;
      line-height: 50px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      position:relative
    }

    .pre_poem_content {
      background: burlywood;
      padding: 0 50px;
    }

    /* 收起、显示按钮设置 */
    .showCon,
    .hideCon {
      width: 30px;
      height: 30px;
      line-height: 20px;
      text-align: center;
      border-radius: 50%;
      color: #fff;
      font-size: 16px;
      background: salmon;
      cursor: pointer;
    }
    .pre_poem_title::after{
      content: "";
      width: 20px;
      height: 20px;
      background: #fff;
      border-radius: 50%;
      border: 1px solid pink;
      position: absolute;
      left:-34px ;
      z-index: 3;
    }
  </style>
</head>

<body>
  <div id="app">
    <my-poem v-for="(item,index) in arr" :item="item"></my-poem>
  </div>


  <script>
    const myPoem = {
      props: {
        item: Object,
        titleClick: Function
      },
      data() {
        return {
          flag: false
        }
      },
      template: `<div class="pre_poem">
                    <div class="pre_poem_title">{{item.topic}}
                      <button class="showCon" v-show="!flag"  @click="flag=!flag">+</button> 
                      <button class="hideCon" v-show="flag"  @click="flag=!flag">-</button>  
                    </div>
                    <div class="pre_poem_content" v-show="flag">{{item.content}}</div>
                  </div>`
    }


    var app = new Vue({
      el: "#app",
      data() {
        return {
          arr: [
            {
              flag: false,
              topic: "蒹葭",
              content: "蒹葭者，芦苇也，飘零之物，随风而荡，却止于其根，若飘若止，若有若无。思绪无限，恍惚飘摇，而牵挂于根。根者，情也。相思莫不如是。露之为物，瞬息消亡。蒹葭苍苍，白露为霜。所谓伊人，在水一方。溯洄从之，道阻且长。溯游从之，宛在水中央。蒹葭萋萋，白露未晞。所谓伊人，在水之湄。溯洄从之，道阻且跻。溯游从之，宛在水中坻。蒹葭采采，白露未已。所谓伊人，在水之涘。溯洄从之，道阻且右。溯游从之，宛在水中沚。。"
            },
            {
              flag: false,
              topic: "出师表",
              content: "先帝创业未半而中道崩殂，今天下三分，益州疲弊，此诚危急存亡之秋也。然侍卫之臣不懈于内，忠志之士忘身于外者，盖追先帝之殊遇，欲报之于陛下也。诚宜开张圣听，以光先帝遗德，恢弘志士之气，不宜妄自菲薄，引喻失义，以塞忠谏之路也。宫中府中，俱为一体；陟罚臧否，不宜异同。若有作奸犯科及为忠善者，宜付有司论其刑赏，以昭陛下平明之理，不宜偏私，使内外异法也。侍中、侍郎郭攸之、费祎、董允等，此皆良实，志虑忠纯，是以先帝简拔以遗陛下。愚以为宫中之事，事无大小，悉以咨之，然后施行，必能裨补阙漏，有所广益。将军向宠，性行淑均，晓畅军事，试用于昔日，先帝称之曰能，是以众议举宠为督。愚以为营中之事，悉以咨之，必能使行阵和睦，优劣得所。亲贤臣，远小人，此先汉所以兴隆也；亲小人，远贤臣，此后汉所以倾颓也。先帝在时，每与臣论此事，未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军，此悉贞良死节之臣，愿陛下亲之信之，则汉室之隆，可计日而待也。臣本布衣，躬耕于南阳，苟全性命于乱世，不求闻达于诸侯。先帝不以臣卑鄙，猥自枉屈，三顾臣于草庐之中，咨臣以当世之事，由是感激，遂许先帝以驱驰。后值倾覆，受任于败军之际，奉命于危难之间，尔来二十有一年矣。先帝知臣谨慎，故临崩寄臣以大事也。受命以来，夙夜忧叹，恐托付不效，以伤先帝之明；故五月渡泸，深入不毛。今南方已定，兵甲已足，当奖率三军，北定中原，庶竭驽钝，攘除奸凶，兴复汉室，还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益，进尽忠言，则攸之、祎、允之任也。愿陛下托臣以讨贼兴复之效，不效，则治臣之罪，以告先帝之灵。若无兴德之言，则责攸之、祎、允等之慢，以彰其咎；陛下亦宜自谋，以咨诹善道，察纳雅言，深追先帝遗诏。臣不胜受恩感激。今当远离，临表涕零，不知所言。"
            },
            {
              flag: false,
              topic: "爱莲说",
              content: "水陆草木之花，可爱者甚蕃。晋陶渊明独爱菊。自李唐来，世人甚爱牡丹。予独爱莲之出淤泥而不染，濯清涟而不妖，中通外直，不蔓不枝，香远益清，亭亭净植，可远观而不可亵玩焉。予谓菊，花之隐逸者也；牡丹，花之富贵者也；莲，花之君子者也。噫！菊之爱，陶后鲜有闻。莲之爱，同予者何人？牡丹之爱，宜乎众矣。"
            }]
        }
      },
      components: {
        myPoem: myPoem
      },
      methods: {
        // titleClick(item) {
        //   console.log("触发点击事件")
        //   item.flag = !item.flag
        //   console.log(item.flag)
        // }
      }
    })
  </script>
</body>

</html>